#pragma once

#include "Neuron.h"

class NeuralNetwork
{
private:
	float _learningRate;
	std::vector<Neuron *> _neurons;
	unsigned int _inputsQuantity;
	unsigned int _componentsQuantity;
public:
	NeuralNetwork(unsigned int neuronesQuantity, unsigned int inputsQuantity, unsigned int componetsQuantity)throw(IllegalArgumentException);
	std::vector<std::vector<float>> calculateWithTrenerGHA(std::vector<std::vector<float>> values)throw(IllegalArgumentException);
	std::vector<float> getNeuronOutputs();
	~NeuralNetwork(void);
};

